System and method for testing a link control card

ABSTRACT

A system and method for testing a Link Control Card (LCC) of a storage device includes a host, a middle plane (MP), a switch, and a testing device array. The host is connected to the testing device array for sending out command sets and receiving results. The MP is connected between the LCC and the testing device array. The switch determines the LCC to output hard reset signals and the hard reset signals are transferred to the testing device array via the MP. The testing device array includes a plurality of testing devices, and each of the testing devices includes a micro-controller unit (MCU); a connector being connected to the MCU, and coupled to the MP; an address setting unit being connected to the MCU, for setting an unique address of each of the testing devices; and a first interface being connected to the MCU for outputting results.

CROSS-REFERENCES TO RELATED APPLICATION

Relevant subject matter is disclosed in the copending U.S. patent application Ser. No. filed in the same day, and entitled “TESTING SYSTEM AND TESTING METHOD FOR A LINK CONTROL CARD,” with Attorney Docket No. 14963-54316 which is assigned to the same assignee with this patent application.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a system and a method for testing a link control card (LCC), and particularly to a system and a method for testing a hard reset state of the LCC.

2. General Background

With the development of information technology, a magnetic disc array is more and more popularly used for various application systems in enterprises. The magnetic disc array provides an additive enclosure storage device for extending storage capacity of a single host or server, and is connected to the host by a small computer system interface (SCSI) or other interfaces. The magnetic disc array is used in storage area networks (SANs) by means of a fiber channel interface, for sharing storage capacities among a plurality of hosts. The magnetic disc array with fiber channel adopts the fiber channel technology and has a fiber channel interface connected to the magnetic disc array's exterior such as a host, with fiber channel technology in it's interior.

Presently, a conventional fiber channel storage device includes two LCCs, a middle plane (MP), a magnetic disc array having fifteen hard disk drives(HDDs), and two power supplies. In a testing procedure of the fiber channel storage device, a host transmits commands to the magnetic disc array, and adopts an enclosure switch to reset the LCCs, for testing a hard reset state of the LCCs. However, the magnetic disc is expensive, and this can increase the cost of testing. Furthermore, the magnetic disc consumes significant amounts of power, and is prone to reliability problems especially if it sustains external shock or vibration. If the magnetic disc operates unreliably, this may compromise the accuracy of the test.

What is needed is a lower cost system and method for readily testing hard reset state of an LCC of a storage device.

SUMMARY

An exemplary system and method for testing a link control card (LCC) in accordance with a preferred embodiment includes a host, a middle plane (MP), a switch, and a testing device array. The MP includes two terminals, and one of the terminals is connected to the LCC. The testing device array is connected to the other one of the terminals of the MP. The host is connected to the testing device array, for sending out command sets and receiving results. The switch determines which of the LCCs to output hard reset signals and the hard reset signals are transferred to the testing device array via the MP. The testing device array includes a plurality of testing devices, and each of the testing devices includes a micro-controller unit (MCU); a connector being connected to the MCU, and coupled to the MP; an address setting unit being connected to the MCU, for setting an unique address of each of the testing devices; and a first interface being connected to the MCU for outputting results.

Other advantages and novel features will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings, in which:

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system for testing a link control card (LCC) of a fiber channel storage device in accordance with a preferred embodiment of the present invention; the system includes a testing device array having a plurality of testing devices;

FIG. 2 is a block diagram of each testing device of the testing device array of FIG. 1;

FIG. 3 is a circuit diagram of an address setting unit of each testing device of FIG. 1;

FIG. 4 is a block diagram including a portion of a first testing device of FIG. 1, during hard reset testing; and

FIG. 5 is a flow chart of a method for testing the system of FIG. 1.

DETAILED DESCRIPTION OF THE EMBODIMENT

Referring to FIG. 1, a system for testing a link control unit of an electronic device like a link control card (LCC) of a fiber channel storage device in accordance with an embodiment of the present invention includes a host 100, the host 100 has a means to display data such as a liquid crystal display (LCD), a testing device array 200 with fifteen testing devices 10 connected in series, a middle plane (MP) 30, a first LCC 40, a second LCC 50, a first power supply 60, a second power supply 70, and a switch 44.

The testing device array 200 is used instead of fifteen hard disk drives conventionally used. Each of the first LCC 40 and the second LCC 50 has fifteen transmission paths to be tested. Each transmission path is respectively tested by a corresponding one of the testing devices 10. The MP 30 has two terminals, and one of the terminals is connected to the first LCC 40 and the second LCC 50, and the other one of the terminals is connected to the testing device array 200, for distributing energy such as work voltages to each of the testing devices 10 of the testing device array 200. The host 100 is connected to the testing device array 200 via a serial port 102 for sending out command sets and receiving results. The switch 44 is an enclosure switch in a fiber channel storage device, and determines which of the first LCC 40 or the second LCC 50 to output reset signals, and the reset signals are transferred to each of the testing devices 10 via the MP 30 for analysis by the respective tests of each testing device 10.

Referring also to FIG. 2, each testing device 10 of the testing device array 200 of the testing system of FIG. 1 includes a micro-controller unit (MCU) 12, a connector 14, an address setting unit 16, a first serial interface 17, and a second serial interface 18. The MCU 12 is a Model PIC18F6520. The connector 14 is connected to the MCU 12, and meets with magnetic disc interface standard SFF-8045 for fiber channels. Each of the testing devices 10 is separately connected to the other one of the terminals of the MP 30 via respective connectors 14 of the testing devices 10. The address setting unit 16 is connected to the MCU 12. The first serial interface 17 (RS232, for example) is connected to the MCU 12, for outputting results. The second interface 18 (RS232, for example) is connected to the MCU 12, for coupling with an adjacent testing device 10.

The host 100 is connected to a first serial interface 17 of a first testing device 10 via the serial port 102. A second serial interface 18 of the first testing device 10 is connected to a first serial interface 17 of a second testing device 10. A second serial interface 18 of the second testing device 10 is connected to a first serial interface 17 of a third testing device 10, and the rest of the testing devices 10 are connected in series in this way. The host 100 may also be selectively connected to the first serial interface 17 of the second testing device 10 via the serial port 102, or the first serial interface 17 of any of the rest of testing devices 10.

Referring also to FIG. 3, it shows a circuit diagram of the address setting unit 16 of each testing device 10 of FIG. 1. The address setting unit 16 of each testing device 10 includes four bidirectional switches J0, J1, J2, and J3 for setting four-bit addresses A0, A1, A2, and A3. When the switch J0 is set at pin 1, A0 is logic level “1”. When the switch J0 is set at pin 3, A0 is logic level “0”. Addresses A1 , A2, and A3 are set in the same manner as A0. So each switch of each testing device 10 may be set according to the desired address for that testing device 10. The addresses for each of the fifteen testing devices 10 are as follows: “0000”, “0001”, “0010”, “0011”, “0100”, “0101”, “0110”, “0111”, “1000”, “1001”, “1010”, “1011”, “1100”, “1101” and “1110”.

Referring also to FIG. 4, it shows a hard reset testing including a portion of a first testing device 10 of FIG. 1. In respect to the first testing device 10 as an example, when the switch 44 is turned on manually, a selected one of the first LCC 40 or the second LCC 50 will output hard reset signals DEV_CTRL_CODE [0 . . . 2], and the hard reset signals are transferred to the MCU 12 of the first testing device 10 via the MP 30 and it's connector 14, subsequently, the MCU 12 monitors hard reset time data of the first LCC 40 or the second LCC 50. When another testing device 10 tests the first LCC 40 or the second LCC 50, the principle is the same as the first testing device 10.

Referring to FIG. 5, a method for testing the system of FIG. 1 is shown. In the preferred embodiment, the host 100 is connected to the first testing device 10. Unique address for each of the testing devices 10 is set manually. Then the testing system is powered up. Each MCU 10 of each testing device 10 detects and stores its unique address. The host 100 sends command sets to the first testing device 10 and receives test results and address match signals from the first testing device 10. The command sets are sent sequentially, with the first command set containing the unique address of the first testing device 10 and the next command set is issued after receiving test result of the previous command set containing the unique address of the next testing device 10. The process continues in this way until all testing devices 10 have received command sets and returned test results. Each testing device 10 receives command sets and test results. Each testing device 10 receives the command sets from a command source, either the host 100 or another testing device 10. In the preferred embodiment, only the first testing device 10 receives command sets from the host 100, the remaining testing devices 10 receive command sets from another of the testing devices 10. Each testing device 10 receives test results or address match signals from a result source, which is another of the testing devices 10 that is not its command source. When a testing device 10 receives a command set, it checks to see if the command set contains its unique address. If yes, then it passes the address match signal to its command source. When the signal is received by the host 100, a ready signal is indicated on the LCD and an operator then manually activates the switch 44 causing generation of hard reset signals in the LCC 40 or LCC 50. Then testing is done and results returned to the command source. If no, the command set is passed on to the result source. When a testing device 10 receives a test result, it passes the result to the command source.

Step 80: manually set a unique address for each of the testing devices 10 of the testing device array 200. Each of the testing devices 10 receives a unique address through the setting address unit 16 thereof. An address of the first testing device 10 is “0000”, an address of the second testing device 10 is “0001”, and an address of the third testing device 10 is “0010”, and so on. The address of each of the testing devices 10 is as follows in Table 1. TABLE 1 address of each of the testing devices ad- Ad- ad- number dress number dress Number dress first 0000 second 0001 third 0010 testing device testing device testing device forth 0011 fifth 0100 sixth 0101 testing device testing device testing device seventh 0110 eighth 0111 ninth 1000 testing device testing device testing device tenth 1001 eleventh 1010 twelfth 1011 testing device testing device testing device thirteenth 1100 fourteenth 1101 fifteenth 1110 testing device testing device testing device

Step 81: at the instant of power on, the testing device array 200 senses the addresses of Step 80, and stores the unique address into the MCU 12 of each of the testing devices 10. The address “0000” is stored in the MCU 12 of the first testing device 10, the address “0001” is stored in the MCU 12 of the second testing device 10, and the address “0001” is stored in the MCU 12 of the third testing device 10, and so on, for the remaining corresponding addresses of the rest of the testing devices 10.

Step 82: the host 100 transmits a command set to one of the first testing devices 10 of the testing device array 200 via the serial port 102. It is to be noted there will be a command set for each testing device 10. The command set includes hard reset time parameters of the first LCC 40 or the second LCC 50 according to which is selected for testing at that time, and one of the addresses of the test devices 10. The first command will contain the first address “0000”, the second command will contain the second address “0001”, and so on to the 15^(th) address of the 15^(th) testing device 10.

Step 83: the first testing device 10 checks if the address of the command set and the stored address of the first testing device 10 are a match. If no, then step 85 is next. If yes, Step 84 is next.

Step 85: the first testing device 10 relays the command set to the second testing device 10 (it's result source). Then, Step 83 is next, and the second testing device 10 will continuing checking the address of the command set with the address of the result source until each of the testing devices 10 match it's stored address and the address of the command set.

Step 84: when there is an address match, the first testing device 10 relays an address match signal to the host 100 (its command source). When the host 100 receives the address match signal, it indicates a ready signal on the LCD to activate switch 44. The operator turns on the switch 44 to control the selected first LCC 40 or the second LCC 50, so as to generate hard reset signals to the first testing device 10 via the MP 30.

Step 86: the MCU 10 of the testing device 10 detects hard reset data of the selected one of the first LCC 40 or the second LCC 50, and compares the hard reset data with the hard reset parameters of the command set. If matched Step 88 is next. If not matched, Step 87 is next.

Step 87: the MCU 12 of the first testing device 10 determines a first path of the selected first LCC 40 or the second LCC 50 being tested is bad. The first testing device 10 tests the first path, the next testing device tests the next path, and so on. Then Step 88 is next.

Step 88: the MCU 12 of the first testing device 10 determines a first path of the selected first LCC 40 or the second LCC 50 being tested is okay, the first testing device 10 relay a first result to the host 100.

Step 89: the host 100 receives the first result. If no more tests, then end here. If more tests, then Step 82 is next, repeating the process until all of the testing devices 10 have received a command set, sent an address match signal to the host 100, and returned a result.

If the first testing device 10 finishes testing and gets the first result, the first result is transmitted to the host 100 directly. If another testing device 10 finishes testing and gets a second result, the second result is transmitted to its command source, and thus the second test result is relayed back to the host 100. For example, when the third testing device 10 tests the first LCC 40, a third result will be transmitted to the second testing device 10, then transmitted to the first testing device 10, and then finally transmitted to the host 100. Address match signals of each of the testing devices 10 are also relayed back to the host 100 in this way. If any of results of the fifteen testing devices 10 is wrong, then the currently tested the first LCC 40 or the second LCC 50 is bad.

The testing system and testing method for the first LCC 40 or the second LCC 50 of the present embodiment do not need to use hard disk drives (HDDs). Only the testing devices 10 are needed to complete testing of the first LCC 40 or the second LCC 50. Thus, the present embodiment provides a simple and low-cost system and method for testing LCCs.

It is believed that the present embodiment and it's advantages will be understood from the foregoing description, and it will be apparent that various changes may be made thereto without departing from the spirit and scope of the embodiment or sacrificing all of its material advantages, the example hereinbefore described merely being preferred or exemplary embodiment. 

1. A system for testing a link control card (LCC) of a storage device, comprising: a host; a middle plane (MP) comprising two terminals, one of the terminals being connected to the LCC; a switch; a testing device being connected to the other one of the terminals of the MP, the host being connected to the testing device for sending out command sets and receiving results, the switch determining the LCC to output hard reset signals and the hard reset signals being transferred to the testing device via the MP, the testing device comprising: a micro-controller unit (MCU); a connector being connected to the MCU, for coupling to the MP; an address setting unit being connected to the MCU, for setting an address of the testing device; and a first interface being connected to the MCU for outputting results.
 2. The system as claimed in claim 1, wherein the testing device comprises an array having a plurality of testing devices connected in series.
 3. The system as claimed in claim 2, wherein each of the testing devices further comprises a second interface connected to the MCU, for coupling to an another testing device of the array.
 4. The system as claimed in claim 3, wherein the host is connected to the first serial interface of a first testing device via a serial port.
 5. The system as claimed in claim 4, wherein the second interface of one of the testing devices except the final one of the array is connected to the first interface of a next one of the testing devices.
 6. The system as claimed in claim 2, wherein the address setting unit of each of the testing devices comprises a plurality of switches.
 7. The system as claimed in claim 6, wherein the switches of the address setting unit are bidirectional switches.
 8. The system as claimed in claim 2, wherein the MP is also connected to an another LCC, the array is connected with said another LCC and the LCC via the MP.
 9. A method for testing a link control card (LCC), comprising: providing a testing device array having a plurality of testing devices, each of the testing devices comprising a micro-controller unit (MCU); manually setting a unique address of each of the testing devices; detecting the address of each of the testing devices, and storing the address into the MCU of each of the testing devices; a host transmitting a command set of a plurality of command sets to a testing device, each of the command sets comprising hard reset time parameters of the LCC, and a matching address corresponding to one of the addresses; the testing device comparing the address of the command set with the stored address; when the address of the command set matches with the stored address, an address match signal is returned to the host, the host then displays a ready signal, then a switch is manually operated to output hard reset signals to the LCC, and the hard reset signals are transmitted to the testing device; and the testing device detecting hard reset data of the LCC, comparing the hard reset data with the hard reset parameters, and returning a result to the host.
 10. The method as claimed in claim 9, wherein the testing devices are connected in series.
 11. The method as claimed in claim 9, wherein when the hard reset data of the LCC and the hard reset parameters are a match, the testing device determines a path of the LCC being tested is okay.
 12. The method as claimed in claim 9, wherein when the hard reset data of the LCC and the hard reset parameters are not a match, the testing device determines a path of the LCC being tested is bad.
 13. The method as claimed in claim 9, further comprising the steps of: when the address of the command set is not match with the stored address of the testing device, the testing device continuing transmit the command set to a result source, continuing checking the address of the command set with the address of the result source until each of the testing devices match it's stored address and the address of the command set.
 14. The method as claimed in claim 9, further comprising the steps of: the host receives the result, if no more tests, then end, if more tests then repeating until each of the testing devices has received a command set and returned a result.
 15. The method as claimed in claim 13, wherein each of the testing devices receives a command set from a command source, and returns a result to its command source.
 16. The method as claimed in claim 15, wherein the command source is the host or another testing device.
 17. The method as claimed in claim 15, wherein when a testing device receives a command set that contains its matching address, the testing device completes a test and returns a result to its command source.
 18. The method as claimed in claim 15, wherein when a testing device receives a command set that does not contain its matching address, it transmits the command set to its result source.
 19. A method for testing linking states of an electronic device, comprising the steps of: electrically connecting at least two testing devices to a link control unit of an electronic device respectively for signal communication; electrically interconnecting said at least two testing devices so that each of said at least two testing devices is signal-communicable with another of said at least two testing devices; assigning an identifiable address exclusively to said each of said at least two testing devices; activating said link control unit of said electronic device; and selectively retrieving output signals resulting from said activating of said link control unit via said each of said at least two testing devices by means of issue of a command set transmissible to said each of said at least two testing devices and containing a corresponding address matching with said identifiable address.
 20. The method as claimed in claim 19, wherein said each of said at least two testing devices is used to transmit said command set to said another of said at least two testing devices and to forward said output signals from said another of said at least two testing devices when said corresponding address does not match with said identifiable address. 